// $.on('button', 'click', function onClick() { // 1. 放入 stack --> 放入 web Apis【一直存在】 等待点击 --> 8. 点击后 进行 下面setTimeout一样的操作【3，5，6，7】
//     setTimeout(function timer() { 
//         console.log('You clicked the button!');    
//     }, 2000);
// });
// console.log("Hi!"); // 2. 放入 stack --> 马上执行并清除 stack 帧

const { reject } = require("lodash");

// setTimeout(function timeout() { // 3. 放入 stack --> web Apis 等待 5000ms --> 放入 callBack Queue队列（注意：该任务从放入stack 到执行的时间不一定5000ms,5000ms是等待的最少时间，如果 栈中还有任务在执行没有空闲，该任务就会在队列中继续等待） --> 5. 放入 stack --> 7. 清除 stack 帧
//     console.log("Click the button!"); // 6. 放入 stack --> 马上执行并清除 stack 帧
// }, 5000);

// console.log("Welcome to loupe."); // 4. 放入 stack --> 马上执行并清除 stack 帧


// Hi!
// Welcome to loupe.
// Click the button!
// You clicked the button!
// 点击无论是在前在后，执行顺序不变，说明？


// 1. `on`click 放入 stack --> 放入 web Apis【一直存在】 等待点击
// 2. `console Hi` 放入 stack --> 马上执行并清除 stack 帧
// 3. `setTimeout5000` 放入 stack --> web Apis 等待 5000ms --> 放入 callBack Queue队列（注意：该任务从放入stack 到执行的时间不一定5000ms,5000ms是等待的最少时间，如果 栈中还有任务在执行没有空闲，该任务就会在队列中继续等待）
// 4. `console welcome` 放入 stack --> 马上执行并清除 stack 帧
// 5. `setTimeout5000` 放入 stack 
// 6. `console click` 放入 stack --> 马上执行并清除 stack 帧
// 7. `setTimeout5000` 清除 stack 帧
// 8. 点击后 进行 `setTimeout5000`一样的操作【3，5，6，7】

